const int kChCount = 8;
const int kChCountIn = 8;
const int kVolumeRadio = 10;
const int kFreqMax = 20000;
const int kFreqMin = 20;
const double kQMax = 20.0;
const double kQMin = 0.05;
const double kQDefault = 7.2;
///eq段数
const int kPdCount = 31;

kSafeQ(double v) => v > kQMax ? kQMax : (v < kQMin ? kQMin : v);
kSafeFreq(int v) => v > kFreqMax ? kFreqMax : (v < kFreqMin ? kFreqMin : v);

///重置协议
abstract class ModelResetable {
  void reset();
}

abstract class CmdStringable {
  String toCmdStr();
}
